package com.ucode.springboot.starter.ESsearch.repository;

/**
 * ES 索引结构基础操作方法接口
 * @author: liliang
 * @date: 2019年12月30日 下午5:12:02
 */
public interface ElasticsearchIndexTemplate<T> {

    /**
     * 创建索引结构
     * @author liliang
     * @date 2020年1月8日
     * @param clazz 索引文档类类型
     * @throws Exception
     */
    public void createIndex(Class<T> clazz) throws Exception;
    
    /**
     * 删除索引结构
     * @author liliang
     * @date 2020年1月8日
     * @param clazz 索引文档类类型
     * @throws Exception
     */
    public void dropIndex(Class<T> clazz) throws Exception;

    /**
     * 索引结构是否存在
     * @author liliang
     * @date 2020年1月8日
     * @param clazz 索引文档类类型
     * @throws Exception
     */
    public boolean exists(Class<T> clazz) throws Exception;
    
}
